Integrated circuit board with wireless circuitry

ABSTRACT

An IC Card comprises a first device, including a first processor and a first memory unit, to communicate with a handset, and a second device. The second device includes a second processor and a second memory unit, to communicate via a wireless communication with an electronic apparatus external to the handset, the second device providing predetermined services. Each predetermined service is programmed to receive a wireless message from a respective electronic apparatus, to execute a predetermined elaboration operation, and to return a result to the respective electronic apparatus. The second memory unit stores a plurality of additional programs for executing additional elaborations operations, each program being associated to one of the predetermined services. The second device has a run-time environment for executing the additional programs when the corresponding predetermined services receives the wireless message.

FIELD OF THE INVENTION

The present invention is related to the field of IC Cards, and, moreparticularly, to an IC Card for communicating with a wireless device.

BACKGROUND OF THE INVENTION

An IC Card comprises a first device including a first processor and afirst memory unit, intended to communicate with a handset, for example amobile telephone. The IC Card is substantially enclosed inside thehandset and electrically connected to it via contact pads.

A communication between the handset and the IC Card generally complieswith an ISO 7816 protocol wherein the handset sends commands to the ICCard and the IC Card responds to such commands as a slave device. The ICCard may also comprise a second device, including a second processor anda second memory unit intended to communicate with an electronicapparatus.

The IC Card 1 of FIG. 1 comprises a first device 2, intended tocommunicate in conventional way with a handset 9, and a second device 3,intended to communicate with an electronic apparatus 10. The electronicapparatus 10 is substantially external to the handset device 9 and inwireless communication with the second device 3. More particularly, theIC Card 1 comprises an antenna 4, connected-to or included-in the seconddevice 3, for receiving and transmitting wireless messages from/to theelectronic apparatus 10.

The second device 3 emits conventional messages at predeterminedintervals, representing the profile of the second device 3. In otherwords, the profile of the second device 3 specifies the wirelessmessages that it is able to receive. The electronic apparatus 10 inproximity of the handset device 9, detects a conventional messageemitted by the second device 3 and responds to it with a wirelessmessage.

When the antenna 4 receives the wireless message from the electronicapparatus 10, the wireless message is processed by the second device 3and a result is returned to the electronic apparatus 10. The profile ofthe second device 3 may be programmed to receive wireless messages fromdifferent electronic apparatuses. In this case, the second device 3 mayreceive different wireless messages from different electronicapparatuses 10 and process a specific result, depending on the wirelessmessages received.

More particularly, the second device 3 provides one or morepredetermined services 3a, 3b, 3c, also indicated in FIG. 3 as endpointapplications, intended to receive wireless message from different andrespective electronic apparatuses 10 and to process the specificresults.

When the electronic apparatus 10 sends the wireless message to theantenna 4, the corresponding predetermined service, for example thepredetermined service 3a, executes a predetermined elaboration operationand returns a result to the electronic apparatus 10. The wirelesscommunication may for example be based on the ZigBee protocol; in thiscase, the second device and the electronic apparatus are ZigBee nodes.

A drawback of such IC Card 1 is that a long delay may occurs between thetime in which the IC Card receives the wireless message and the time inwhich the IC Card 1 may perform a consequential operation, e.g. returnthe result to the corresponding electronic apparatus 10.

This drawback is schematically explained with reference to FIG. 1.

The external apparatus 10 sends the wireless message, indicated asremote request, to the second device 3 of the IC Card 1. In order toprocess the wireless message, a software module indicated as ZigBeeEngine is executed. As schematically represented in FIG. 2, the ZigBeeEngine is stored inside the first device 2 and provides additional APIfor the execution of the predetermined services 3a, 3b, 3c and formanaging a communication between the first device 2 and the seconddevice 3.

When the wireless message is received by the second device 3, the firstdevice 2 may be not ready to execute the ZigBee Engine, since it is aslave device with respect to the handset device 9 and must wait for anAPDU command from the handset device 9, in order to execute the ZigBeeEngine.

Such a drawback heavily penalizes the wireless communication between thesecond device 3 and the electronic apparatus 10, since the electronicapparatus 10 cannot receive the result of the elaboration operationrapidly but it must wait for the execution of the ZigBee Engine. Inother words the IC Card 1 cannot be used with electronic apparatuses 10requiring a result in a few time. This is not helpful in case ofprotocols based on fast exchanges of small messages, such as handshakeprocedures.

More particularly, according to the ISO 7816 protocol, the handsetdevice 9 executes a poll operation towards the first device 2 of the ICCard 1, in order to detect a status of the first device 2. The firstdevice 2 sends a poll message to the second device 3. Since the seconddevice 3 has received a wireless message it returns the wireless messageto the first device 2.

The ZigBee Engine is executed to process the wireless message, a replymessage is forwarded to the second device 3 and the result is deliveredto the electronic apparatus 10 via a wireless communication. The delaydue to the operations described above is schematically shown in FIG. 1as “effective response delay”.

Moreover, the ZigBee Engine is generally programmed to recall specificapplets, also indicated as ZigBee Applet 2a, 2b, 2c and stored insidethe memory unit of the first device 2, for executing the predeterminedservices 3a, 3b, 3c. Each ZigBee Applet 2a, 2b, 2c is generally providedto manage a corresponding predetermined service 3a, 3b, 3c. So the delayfor returning the result to the electronic apparatus 10 is also due tothe execution of the ZigBee Applet 2a, 2b, 2c, as schematicallyrepresented in FIG. 2.

Such IC Card 1 suffers for another issue due to the fact that thepredetermined services 3a, 3b, 3c provides predetermined elaborationsoperations depending on the hardware design of the second device 3. Inorder to modify the predetermined services 3a, 3b, 3c, for example forprocessing an elaboration operation different from the predeterminedone, the hardware of the second device 3 may helpfully be modified.

SUMMARY OF THE INVENTION

The present invention provides an IC Card able to communicate with ahandset and, additionally, in wireless mode with one or more electronicapparatuses, the IC Card being able to receive wireless messages fromthe electronic apparatuses, to execute a predetermined elaborationoperation as soon as the wireless message is received and to return aresult to the electronic apparatus as soon as the result is processed,without introducing delay due to the communication between the handsetand the IC Card, the IC Card being also easily configurable to modifythe elaboration operation to be executed, avoiding hardware modificationof the second device.

The present disclosure provides an IC Card including a first deviceintended to communicate with a handset and a second device intended toexecute predetermined elaborations operations for an electronicapparatus, the second device further including a plurality of additionalprograms for providing additional elaborations operations, suchadditional programs being executed without waiting a communicationbetween the first device and the handset.

An IC Card comprises a first device, including a first processor and afirst memory unit, intended to communicate with a handset, and a seconddevice, including a second processor and a second memory unit, intendedto communicate via a wireless communication with at least an electronicapparatus external to the handset, the second device providingpredetermined services. Each predetermined service is programmed toreceive a wireless message from a respective electronic apparatus, toexecute a predetermined elaboration operation and to return a result tothe respective electronic apparatus. The second memory unit stores aplurality of additional programs for executing additional elaborationsoperations, each program being associated to one of predeterminedservice. The second device comprises a run-time environment forexecuting the additional programs when the corresponding predeterminedservices receives the wireless message.

Another aspect is directed to a method for executing at least anadditional program in the IC Card.

Advantageously, additional elaborations operations may be executed bythe second device without modifying the hardware of the second deviceand without modifying the wireless communication between the seconddevice and the electronic apparatuses, since the execution of theadditional programs is activated by the predetermined services.

Moreover, the additional programs may be modified easily and postissuance in order to modify the additional elaboration operation and thecorresponding results returned from the second device to the electronicapparatuses. Advantageously, the run-time environment of the seconddevice provides that the execution of the additional elaborationoperation and the corresponding result may be returned to the electronicapparatuses without introducing long latencies due to the communicationbetween the handset and the first device.

These and other advantages will be apparent from the followingdescription and from the annexed drawings given only for exemplificativepurpose and without limiting the scope of protection of the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically shows a first communication between a first deviceof an IC Card and a handset and a second communication between a seconddevice of the IC Card and an electronic apparatus, according to theprior art;

FIG. 2 schematically shows an hardware configuration of the first andsecond device of the IC Card of FIG. 1, according to the prior art;

FIG. 3 schematically shows a plurality of predetermined servicesprovided by the second device of FIG. 2, according to the prior art;

FIG. 4 schematically shows a communication between the predeterminedservices of FIG. 2 and corresponding applets included in the firstdevice of FIG. 2;

FIG. 5 schematically shows an IC Card a second device, according to thepresent invention;

FIG. 6 schematically shows a second communication between the seconddevice of the IC Card of FIG. 5 and an electronic apparatus, accordingto the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to the annexed drawings an IC Card is schematicallyrepresented and globally indicated with numeral reference 1. The IC Card1 comprises a first device 2 including a first processor μ₁ and a firstmemory unit M₁, intended to communicate in conventional way with ahandset 9, according to the ISO 7816 protocol.

The IC Card 1 also comprises a second device 3, including a secondprocessor μ₂ and a second memory unit M₂, intended to communicate withan electronic apparatus 10, substantially external to the handset device9, in wireless communication with the second device 3.

The IC Card 1 comprises an antenna 4 for receiving and transmittingwireless messages from/to the electronic apparatus 10. The wirelessmessage is processed by the second device 3 and a result is returned tothe electronic apparatus 10.

More particularly, as schematically represented in FIG. 3, the seconddevice 3 provides one or more predetermined services 3a, 3b, 3c,intended to receive wireless messages from different and respectiveelectronic apparatuses 10 and to process specific results.

When the electronic apparatus 10 sends the wireless message to theantenna 4, the corresponding predetermined service 3a, 3b, 3c executes apredetermined elaboration operation. The wireless communication is forexample based on the ZigBee specification.

The second memory unit M₂ stores a plurality of additional programs 6a,6b, 6c for executing additional elaborations operations. Each program6a, 6b, 6c is associated to one of the predetermined services 3a, 3b, 3cso that the second device 3 may return to the electronic apparatus 10 aresult not provided by the predetermined elaboration operation.

More particularly, the second device 3 comprises a run-time environmentfor executing the additional programs 6a, 6b, 6c as soon as thecorresponding predetermined services 3a, 3b, 3c receives the wirelessmessage from the electronic apparatus. A plurality of applets, stored inthe first device 2 and also indicated as ZigBee Applets, have thecapabilities, provided by dedicated APIs, of associating the additionalprograms 6a, 6b, 6c to the predetermined services 3a, 3b, 3c, ZigBeeApplet. The ZigBee Applets are executed when particular events occur,e.g. at start-up of the IC Card 1, for associating the additionalprograms 6a, 6b, 6c to the corresponding predetermined services 3a, 3b,3c.

When a predetermined service 3a, 3b, 3c receives a wireless message froman electronic device, it executes immediately the correspondingadditional program 6a, 6b, 6c through the run-time environment; theadditional program 6a, 6b, 6c process the results that can beimmediately returned to the electronic apparatuses 10.

According to the IC Card 1 of the present invention, when the additionalprograms 6a, 6b, 6c are associated to the predetermined programs 3a, 3b,3c, the additional programs 6a, 6b, 6c may process a result and resultit to the electronic device 10 without waiting for the execution ofoperations inside the first device 2.

More particularly, the run-time environment comprises, but it is notlimited to, the following operations:

-   -   sending a reply message from the second device 3 to the        electrical apparatus 10;    -   forwarding data included in a wireless message received by the        electronic apparatus 10 to a ZigBee Applet;    -   sending a generic message to the ZigBee Applet;    -   executing cryptographic operations;    -   executing arithmetic or logic operations;    -   executing an analysis on the wireless message received;    -   executing control flow operations.

More particularly, the second memory unit M2 comprises a storage areawherein data associated to an execution of the additional programs 6a,6b, 6c are stored, for example cryptographic keys, text, variables. Thedata stored in the storage area may be read or written by thepredetermined services 3a, 3b, 3c as well as by the additional programs6a, 6b, 6c, during their execution.

For example, the variables are stored in a portion of volatile memory orin a portion of non volatile memory of the second memory unit M2. Moreparticularly, variables stored in different portions may be referred bythe same name, since each additional program 6a, 6b, 6c refers only tothe portion associated to the respective predetermined service 3a, 3b,3c.

The ZigBee Applet may be provided by specific commands to access thesecond memory unit M2. For example this command may be based onadditional API provided by the ZigBee Engine of the IC Card 1.

One aspect is directed to a method for downloading the additionalprograms 6a, 6b, 6c in the second device 3. More particularly, themethod provides the downloading of the additional programs 6a, 6b, 6c indifferent ways.

According to a first embodiment, a specific service of the predeterminedservice 3a, 3b, 3c may be stored inside the second device 3 forreceiving the additional programs 6a, 6b, 6c from the electronicapparatus 10. In this case a specific electronic apparatus is providedfor communicating with the second device 3 and downloading thepredetermined service 3a, 3b, 3c.

According to a second embodiment, one or more ZigBee Applets stored inthe first device 2 provides the download of the additional programs 6a,6b, 6c. For example the first device 2 may receive a specific SMSincluding an additional program to be stored. When the specific SMSmessage is received, the first device 2 activates a specific ZigBeeApplet. The ZigBee Applet accesses the second memory unit M2 of thesecond device 3 and stores the program in the second memory unit M2. Thespecial SMS may be formatted and provided with security controls, forexample according to the standard ETSI TS 102 225.

According to a third embodiment, each additional program 6a, 6b, 6c isdownloaded by a corresponding ZigBee Applet. In this case, for eachpredetermined service 3a, 3b, 3c, a corresponding ZigBee Applet isprovided. The ZigBee Applet controls the execution of the predeterminedservice 3a, 3b, 3c and may update the additional program 6a, 6b, 6cassociated to the predetermined service 3a, 3b, 3c.

Hereinafter the main features of the IC Card are resumed. The IC Card 1comprises a first device 2, including a first processor μ₁ and a firstmemory unit M₁, intended to communicate in conventional way with ahandset 9, and a second device 3, including a second processor μ2 and asecond memory unit M₂, intended to communicate via a wirelesscommunication with at least an electronic apparatus 10 external to thehandset 9.

The second device 3 provides predetermined services 3a, 3b, 3c, eachpredetermined service 3a, 3b, 3c being programmed to receive a wirelessmessage from a respective electronic apparatus 10, to execute apredetermined elaboration operation on the base of the wireless messagereceived and to return a result to the respective electronic apparatus10.

The second memory unit M₂ stores a plurality of additional programs 6a,6b, 6c for executing additional elaborations operations, each program6a, 6b, 6c being associated to one of the predetermined services 3a, 3b,3c. The second device 3 comprises a run-time environment for executingthe additional programs 6a, 6b, 6c when the associated predeterminedservices 3a, 3b, 3c receive the wireless message.

The first device 2 includes at least an applet, also indicated as ZigBeeApplet, for associating the additional programs (6a, 6b, 6c) to thecorresponding predetermined services (3a, 3b, 3c). The second device 3is a ZigBee node and the wireless communication between the seconddevice 3 and the electronic apparatus comply with a ZigBeespecification.

The first processor μ₁ comprises additional APIs for supporting acommunication between the ZigBee Applets and the second device 3.

Hereinafter the main features of the method for executing at least anadditional program in an IC Card are resumed. The additional program(6a, 6b, 6c) are by an IC Card 1 comprising a first device 2 intended tocommunicate in conventional way with a handset 9 and a second device 3intended to communicate via a wireless communication with at least anelectronic apparatus 10 external to the handset 9. The second device 3provides predetermined services 3a, 3b, 3c associated to the additionalprograms 6a, 6b, 6c and programmed to receive a wireless message from arespective electronic apparatus 10.

The additional programs 6a, 6b, 6c are executed by a run-timeenvironment of the second device 3 when the corresponding predeterminedservices 3a, 3b, 3c receives the wireless message. According to a firstembodiment of the method, the additional programs 6a, 6b, 6c aredownloaded in a second memory unit M2 of the second device 3 by anapplet, also indicated as ZigBee Applet, of the first device 2.

According to a second embodiment of the method, the additional programs6a, 6b, 6c are downloaded in the second memory unit M2 of the seconddevice 3 by a specific predetermined service 3a, 3b, 3c, programmed toreceive the additional programs (6a, 6b, 6c) from a correspondingspecific electronic apparatus 10.

According to a third embodiment of the method, the additional programs6a, 6b, 6c are downloaded in the second memory unit M2 of the seconddevice 3 by an applet, also indicated as ZigBee Applet, programmed toreceive a specific SMS that includes the additional programs 6a, 6b, 6cto be downloaded.

The additional programs 6a, 6b, 6c are associated to the predeterminedservices 3a, 3b, 3c by an applet or ZigBee Applet. Advantageously, theIC Card 1 allows the reduction of the response time required by thesecond device 3 to return a result to the electronic apparatus 10 and toperform any consequential operation.

As already stated, without the additional programs 6a, 6b, 6c and therun-time environment, the response time of the second device 3 towardsthe electronic device 10 would depend on the applets or ZigBee Appletsexecution inside the first device 2. In fact, according to the SIMApplication Toolkit applets, the ZigBee Applet are executed only fromtime to time, when the handset 9 activates the first device 2. Howeverthe activation of the IC Card 1 may not occur continuously and long timemay occur between the receipt of a wireless message from the seconddevice 3 and the activation of the first device 2. So the processing ofthe result to be sent from the second device 3 towards to the electronicapparatus 10 would be delayed.

Advantageously, the present disclosure, taking advantage of the factthat the second device 3 is active and listening to incoming wirelessmessages from the electronic apparatus 10, is able to process thewireless messages independently and autonomously with respect to thefirst device 2 and handset 9. This reduces the delay for executingrequests from the electronic apparatuses 10, achieving a consistentbenefit in real time applications.

The advantage is also greater when the second device 3 communicates witha remote device via the electronic apparatus 10 since data send-to andreceived-from the remote device are not delayed by the execution of aZigBee Applet. A further advantage is based on the fact that acomputational load may be balanced among the second device 3 and thefirst device 2, allowing more efficient executions.

Moreover, the behavior of the second device 3, in other words theelaboration operation provided by the second device 3 on the receipt ofa wireless message from an electronic device 10, may be updated insimple way by modifying, even remotely, the additional program 6a, 6b,6c and avoiding any hardware change.

The IC Card 1 achieves great advantages also with respect to a handset 9provided with wireless communication, for example Bluetooth, and withprogrammable computation, for example Symbian o J2ME.

In fact, the Bluetooth/Symbian-J2ME handset 9 is an expensive devicewhile the IC Card 1 provided with a second device 3 and thecorresponding wireless communication is a cheap device and it may beused with a handset 9.

Moreover, since the IC Card 1 is provided with secured means and with auser profile, the additional elaborations operations may be associatedto the identity of the used and/or they may be protected bycryptographic operations, providing a secure communications and resultsto the electronic apparatuses 10.

That which is claimed is:
 1. An IC Card comprising: a first device comprising a first processor and a first memory coupled thereto, said first device configured to communicate with a mobile wireless communications device; and a second device comprising a second processor and a second memory unit coupled thereto, said second device configured to communicate wirelessly with at least one other mobile wireless communications device; said second device configured to provide services, each service to receive a wireless message from the at least one other mobile wireless communications device; said second device also configured to execute an elaboration operation and to return a result to the at least one other mobile wireless communications device while waiting for execution of operations by the first device; said second memory configured to store a plurality of programs for executing additional elaborations operations, each program being associated with a service; said second device further comprising a run-time environment configured to execute the programs when a corresponding service receives the wireless message without waiting for execution of the operations by the first device.
 2. An IC Card according to claim 1, wherein said first memory is also configured to store an applet for associating the plurality of programs with respective services.
 3. An IC Card according to claim 2, wherein said first processor and said first memory are configured to provide at least one application programming interface (API) for communication between the applet and said second processor and said second memory.
 4. An IC Card comprising: an IC card substrate; a first processor and a first memory cooperating therewith and carried by said IC Card substrate and configured to communicate with a mobile wireless communications device; a second processor, a second memory, and a wireless transceiver cooperating together and configured to provide a plurality of services and for wireless communication with at least one other mobile wireless communications device; each service configured to receive a wireless message from said at least one other mobile wireless communications device, to execute an elaboration operation, and to return an elaboration operation result to said at least one other mobile wireless communications device while waiting for execution of operations by the first processor; said second memory configured to store and said second processor configured to execute a plurality of additional programs for performing additional elaborations operations, each additional program being associated with a respective service; said second processor and said second memory configured to provide a run-time environment for executing the plurality of programs when a respective service receives the wireless message without waiting for execution of the operations by the first processor.
 5. An IC Card according to claim 4, wherein said first memory is also configured to store an applet for associating the plurality of programs to respective services.
 6. An IC Card according to claim 5, wherein said first processor and said first memory are configured to provide at least one application programming interface (API) for communication between the applet and said second processor and said second memory.
 7. A method for executing a plurality of programs with an IC Card comprising a first device to communicate at least one mobile wireless communications device and a second device to communicate wireless communication with at least one other mobile wireless communications device, the second device providing services associated with the plurality of programs and to receive a wireless message from the at least one other mobile wireless communications device, the second device also configured to execute an operation and to return a result to the at least one other mobile wireless communications device while waiting for execution of operations by the first device, the method comprising: executing the plurality of programs using a run-time environment of the second device after a corresponding service receives the wireless message without waiting for execution of the operations by the first device.
 8. A method according to claim 7, wherein the plurality of programs are stored in a memory of the second device by an applet stored in a memory of the first device.
 9. A method according to claim 8, wherein the plurality of programs are downloaded to a memory of the second device by a service for receiving the plurality of programs from the at least one other mobile wireless communications device.
 10. A method according to claim 7, wherein the plurality of programs are associated with respective services by an applet.
 11. A method according to claim 10 wherein the applet accesses an application programming interface (API) of the first device for communicating with the second device.
 12. A method of operating an IC Card comprising: communicating with a mobile wireless communications device using a first processor; providing a plurality of services and wirelessly communicating with at least one other mobile wireless communications device using a second processor, a second memory, and a wireless transceiver cooperating together; receiving a wireless message from the at least one other mobile wireless communications device, executing an elaboration operation, and returning an elaboration operation result to the at least one other mobile wireless communications device, using each service while waiting for execution of operations by the first processor; storing and executing a plurality of programs for performing additional elaborations using the second memory and the second processor, each program being associated with a respective service; and providing a run-time environment for executing the plurality of programs when the respective services receive the wireless message using the second processor and the second memory without waiting for execution of the operations by the first processor.
 13. A method according to claim 12, wherein a first memory is for storing an applet for associating the plurality of programs to respective services.
 14. A method according to claim 13, further comprising providing at least one application programming interface (API) for communication between the applet and the second processor and the second memory using the first processor and the first memory.
 15. An IC device comprising: a first processor and a first memory cooperating therewith and configured to communicate with a mobile wireless communications device; a second processor, a second memory, and a wireless transceiver cooperating together and configured to provide a plurality of services and for wireless communication with at least one other mobile wireless communications device; each service configured to receive a wireless message from said at least one other mobile wireless communications device, to execute an operation, and to return an operation result to said at least one other mobile wireless communications device while waiting for execution of operations by the first processor; said second memory configured to store and said second processor configured to execute a plurality of additional programs for performing additional operations, each additional program being associated with a respective service; said second processor and said second memory configured to provide a run-time environment for executing the plurality of programs when a respective service receives the wireless message without waiting for execution of the operations by the first processor.
 16. An IC device according to claim 15, wherein said first memory is also configured to store an applet for associating the plurality of programs to respective services.
 17. An IC device according to claim 16, wherein said first processor and said first memory are configured to provide at least one application programming interface (API) for communication between the applet and said second processor and said second memory.
 18. A method of operating an IC device comprising: communicating with a mobile wireless communications device using a first processor; providing a plurality of services and wirelessly communicating with at least one other mobile wireless communications device using a second processor, a second memory, and a wireless transceiver cooperating together; receiving a wireless message from the at least one other mobile wireless communications device, executing an operation, and returning an operation result to the at least one other mobile wireless communications device, using each service while waiting for execution of operations by the first processor; storing and executing a plurality of programs for performing additional operations using the second memory and the second processor, each program being associated with a respective service; and providing a run-time environment for executing the plurality of programs when the respective services receive the wireless message using the second processor and the second memory without waiting for execution of the operations by the first processor.
 19. A method according to claim 18, wherein a first memory is for storing an applet for associating the plurality of programs to respective services.
 20. A method according to claim 19, further comprising providing at least one application programming interface (API) for communication between the applet and the second processor and the second memory using the first processor and the first memory. 